#include <iostream>
#include <unsupported/Eigen/MatrixFunctions>

using namespace Eigen;

int
main()
{
	Matrix4cd A = Matrix4cd::Random();
	MatrixPower<Matrix4cd> Apow(A);

	std::cout << "The matrix A is:\n"
			  << A
			  << "\n\n"
				 "A^3.1 is:\n"
			  << Apow(3.1)
			  << "\n\n"
				 "A^3.3 is:\n"
			  << Apow(3.3)
			  << "\n\n"
				 "A^3.7 is:\n"
			  << Apow(3.7)
			  << "\n\n"
				 "A^3.9 is:\n"
			  << Apow(3.9) << std::endl;
	return 0;
}
